import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
import re
from imp import reload
import h5py
import sys
import deltascope as cranium
import deltascope.alignment as ut
at = ".\\data\\22hpf\\AT\\Prob"
zrf = ".\\data\\22hpf\\Gfap\\Prob"
outdir = ".\\data\\22hpf\\Output-02-14-2019"
os.mkdir(outdir)
Dat = {}
for f in os.listdir(at):
if 'h5' in f:
num = re.findall(r'\d+',f.split('.')[0])[-1]
Dat[num] = os.path.join(at,f)
Dzrf = {}
for f in os.listdir(zrf):
if 'h5' in f:
num = re.findall(r'\d+',f.split('.')[0])[-1]
Dzrf[num] = os.path.join(zrf,f)
Dbat = {}
Dbzrf = {}
klist = Dat.keys()
param = {
'gthresh':0.5,
'scale':[1,1,1],
'microns':[0.16,0.16,0.21],
'mthresh':0.8,
'radius':10,
'comp_order':[0,2,1],
'fit_dim':['x','z'],
'deg':2
}
for k in klist:
try:
Dbat[k] = ut.preprocess(Dat[k],param)
Dbzrf[k] = ut.preprocess(Dzrf[k],param,pca=Dbat[k].pcamed,mm=Dbat[k].mm,vertex=Dbat[k].vertex)
print(k)
except:
print(k,'failed')
e = sys.exc_info()
print(e)
def start(k):
return(ut.start(k,Dbat,[Dbzrf],im=True))
def save_at(k,df):
ut.save_at(k,df,outdir,'22hpf')
def save_both(k,dfa,dfb):
ut.save_both(k,dfa,dfb,outdir,'22hpf')
def fit_model(axi,df,mm=None):
if mm == None:
mm = np.polyfit(df.x,df.z,2)
p = np.poly1d(mm)
xrange = np.arange(np.min(df.x),np.max(df.x))
axi.plot(xrange,p(xrange),c='m')
return(mm)
model = pd.DataFrame({'a':[],'b':[],'c':[]})
def save_model(k,mm,model):
row = pd.Series({'a':mm[0],'b':mm[1],'c':mm[2]},name=k)
model = model.append(row)
return(model)
def pick_pts(x1,z1,vx,vz,x2,z2):
pts = pd.DataFrame({'x':[x1,vx,x2],'z':[z1,vz,z2]})
return(pts)
klist
Dbzrf.keys()
Dbat['14']
k,df,Ldf,ax = start('14')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[0].x = -40
pts.iloc[0].z = 26
pts.iloc[1].x = 45
pts.iloc[1].z = 22
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
mm = fit_model(ax[1,1],df2)
pts = pick_pts(-40,26,0,-5,45,22)
ax[1,1].scatter(pts.x,pts.z,c='m')
pts = pick_pts(-43,26,0,-5,45,22)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
k,df,Ldf,ax = start('8')
mm = fit_model(ax[1,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
k,df,Ldf,ax = start('6')
df1,Ldf1 = ut.zyswitch(df,Ldf)
ax = ut.make_graph([df1]+Ldf1)
df2,Ldf2 = ut.flip(df1,Ldf1)
ax = ut.make_graph([df2]+Ldf2)
mm = fit_model(ax[0,1],df2)
pts = pick_pts(-42,4,0,-15,40,5)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
k,df,Ldf,ax = start('10')
pts = pick_pts(-32,18,0,-12,40,22)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('7')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
k,df,Ldf,ax = start('1')
mm = fit_model(ax[0,1],df)
pts = pick_pts(-48,15,0,-3,50,15)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('13')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[0].x = -45
pts.iloc[0].z = 17
pts.iloc[1].x = 42
pts.iloc[1].z = 14
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
pts = pick_pts(-39,16,0,-6,47,16)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3,pts=pts)
model = save_model(k,mm,model)
save_both(k,df4,Ldf4[0])
k,df,Ldf,ax = start('2')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
k,df,Ldf,ax = start('12')
mm = fit_model(ax[0,1],df)
pts = pick_pts(-36,14,0,-11,43,16)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('4')
pts = pick_pts(-38,28,0,-13,40,30)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('9')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
k,df,Ldf,ax = start('5')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
k,df,Ldf,ax = start('3')
mm = fit_model(ax[0,1],df)
pts = pick_pts(-36,22,0,-5,38,20)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
model
model.to_csv(os.path.join(outdir,'model.csv'))
outdir